#include #include using namespace std; const int MATRIX_COUNT = 25; const int ROW_COUNT = 4; const int COLUMN_COUNT = 4; void getMatrix(int matrix[][COLUMN_COUNT]) { for(int row = 0; row < ROW_COUNT; row++) { cout << " Row " << row + 1 << "? "; for(int column = 0; column < COLUMN_COUNT; column++) { cin >> matrix[row][column]; } } } void displayMatrix(int matrix[][COLUMN_COUNT]) { for(int row = 0; row < ROW_COUNT; row++) { cout << " Row " << row + 1 << "? "; for(int column = 0; column < COLUMN_COUNT; column++) { cout << matrix[row][column] << " "; } cout << endl; } } void transposeMatrix(int matrix1[][COLUMN_COUNT], int result[][COLUMN_COUNT]) { for(int row = 0; row < ROW_COUNT; row++) { for(int column = 0; column < COLUMN_COUNT; column++) { result[column][row] = matrix1[row][column]; } } } void main() { int matrices[MATRIX_COUNT][ROW_COUNT][COLUMN_COUNT]; int initialMatrixCount = 0; int matrixCount = 0; cout << "How many initial matrices? "; cin >> initialMatrixCount; for(int i = 0; i < initialMatrixCount;i++) { cout << "Enter matrix " << i + 1 << ": "; getMatrix(matrices[i]); } char command; do { cin >> command; command = toupper(command); switch(command) { case '+': break; case '-': break; case '*': break; case 'X': break; case 'T': cout << ""; int i; cin >> i; //make sure i is less than the matrixCount transposeMatrix(matrices[i-1], matrices[matrixCount]); displayMatrix(matrices[matrixCount]); matrixCount++; break; case 'D': cout << ""; int i; cin >> i; //make sure i is less than the matrixCount displayMatrix(matrices[i-1]); break; } } while(command != 'Q'); displayMatrix(matrices[0]); }